#include "light.h"

Light::Light() : Point3D(), color(1.0,1.0,1.0)
{
}

Light::Light(const Light &sObject) : Point3D(sObject), color(sObject.color)
{

}

Light::Light(const double &_x, const double &_y, const double &_z)
    : Point3D(_x,_y,_z), color(1.0,1.0,1.0)
{

}

Light::Light(const double &_x, const double &_y, const double &_z, const double &red, const double &green, const double &blue)
    : Point3D(_x,_y,_z), color(red,green,blue)
{

}

Light::Light(const Point3D &point)
    : Point3D(point), color(1.0,1.0,1.0)
{

}

Light::Light(const Point3D &point, const Color &_color)
    : Point3D(point), color(_color)
{

}


inline double Light::getRed() const
{
    return color.getRed();
}

inline double Light::getGreen() const
{
    return color.getGreen();
}

inline double Light::getBlue() const
{
    return color.getBlue();
}

inline void Light::setRed(const double &red)
{
    color.setRed(red);
}

inline void Light::setGreen(const double &green)
{
    color.setGreen(green);
}

inline void Light::setBlue(const double &blue)
{
    color.setBlue(blue);
}

inline Color Light::getColor() const
{
    return color;
}

inline void  Light::setColor(const Color &_color)
{
    color = _color;
}
